Data is recorded on magnetic disk drives in radially spaced tracks on the surface of one or more rotating disks. Typically, a single recording head, which may be an inductive read/write head, or an inductive write head in combination with a magnetoresistive read head, is associated with a corresponding magnetic recording surface of each disk. Each recording head is moved by an actuator in a generally radial direction toward and away from the center of rotation of the disks, to align the head to a desired track.
It is necessary to know the precise radial and circumferential location of the recording heads relative to their associated disk surfaces. For conventional fixed-block architecture disk drives, position information is typically recorded onto the disk as servo information in angularly spaced servo sectors interspersed among the data sectors.
Each of the servo sectors contains a servo timing mark (STM), which is a defined bit pattern. A servo timing mark is also known as a servo identification (SID) or a servo address mark (SAM) in the art. When an STM is identified in reading the disk, subsequent detection of servo information (e.g., track identification and position error signal bursts) is initiated. This servo information is used by servo electronics to determine the radial position of the head and to provide feedback to the actuator to ensure the head remains positioned over the centerline of the desired track. In some cases, the STMs are also used to assist in locating specific data sectors where user data is to be read or written (e.g., as described in U.S. Pat. No. 5,500,848).
Accurate detection of STMs is crucial to proper disk drive operation, since such detection is required in order to correctly recognize subsequent servo information. If a servo sector is not recognized due to failure to detect the STM, the servo electronics will rely on less recent servo information (e.g., from the most recent recognized servo sector), and servo tracking and timing accuracy will be diminished. Also, if an STM is incorrectly detected at the wrong location, subsequent servo information will be missed and/or incorrectly interpreted and acted upon. Incorrectly recognizing an STM and acting incorrectly as a result tends to be more problematic than failure to recognize an STM.
Detection of an STM pattern within a servo sector can be reformulated as detection of a known bit pattern (i.e., the STM bit pattern) embedded within an input stream subject to error (i.e., the sequence of bits read from the disk). A known approach for locating the STM bit pattern within the input stream is to compare an n-bit STM bit pattern to a window consisting of n consecutive bits in the input stream, and successively shifting the window, one bit at a time, until a match is found between the window and the STM bit pattern.
How well two bit sequences of equal length match each other is conveniently described by the Hamming distance, which is the number of bits which differ in the two sequences. A perfect match corresponds to a Hamming distance of zero. It is also convenient to define the above shifts as pre-shifts, where pre-shift 1 corresponds to a window position starting 1 bit before the start of the STM pattern in the input stream, pre-shift 2 corresponds to a window starting 2 bits before the STM pattern, etc. Accordingly the above procedure can be expressed as calculating the Hamming distance for pre-shifts k, k−1, k−2, . . . , 2, 1, 0 in succession, for a suitably chosen integer k, and identifying pre-shift 0 (i.e., the STM) when a Hamming distance of 0 is found.
In the absence of errors, a perfect match will occur between the STM pattern and the window when the window is aligned to the STM pattern in the input stream, and this perfect match indicates detection of the STM on the disk, provided there is no other perfect match to the STM pattern in the input stream. Naturally, it is necessary to restrict the search for an STM to regions of the disk which are substantially free of user data, since user data may coincidentally contain the same bit pattern as the STM bit pattern.
In the presence of errors, a perfect match is not to be expected, even when the window is aligned to the STM pattern in the input stream. However, it is known in the art to select an STM pattern that provides generally large Hamming distance for pre-shifts 1 through n for an n-bit STM pattern. Such an STM pattern minimizes the chances of misidentification of the STM pattern based on a low Hamming distance between the STM pattern and a pre-shifted position of the window. Since the pre-shifted window includes bits from the input stream before the STM pattern, a preamble bit sequence having at least n bits is typically prepended to the STM pattern on the disk. Inclusion of the preamble fixes the pre-shifted bit patterns, and renders them independent of any data or other information on the disk. A commonly used preamble pattern is all ones, but any other bit pattern may be used as well. If the minimum Hamming distance between the STM pattern and pre-shifts 1 through n is d1, then d1 is referred to as the pre-shift sliding distance.
However, this prior art approach has some drawbacks. Essentially, a search for the presence of an STM within an STM search window on the disk is performed, since this search cannot go on indefinitely. If the STM is not found within the search window, some alternative correction action is taken. If the STM search window does not extend past the STM, then the probability of missing the STM is undesirably increased (e.g., if the STM window is set incorrectly by only 1 bit so that it does not include the entire STM, the STM will be missed in the search). However, if the STM search window extends past the STM, then erroneous recognition of the STM is possible, because the prior art STM patterns are optimized only with respect to pre-shifts. Erroneous recognition of an STM pattern is typically a much more severe problem than not finding an STM pattern, since erroneous recognition may lead the disk drive to take further erroneous decisions (e.g., misidentifying the track).
Accordingly, it would be an advance in the art to provide an STM search window which extends past the STM on the disk while avoiding the erroneous recognition problem identified above. It would also be an advance to provide STM patterns compatible with this STM search window.